In a cloud computing environment, computing is delivered as a service rather than a product, whereby shared resources, software and information are provided to computers and other devices as a metered service over a network, such as the Internet. In such an environment, computation, software, data access and storage services are provided to users that do not require knowledge of the physical location and configuration of the system that delivers the services.
The functions of the cloud computing environment are performed by a data center, which includes many types of hardware components (e.g., storage controllers, network switches, physical compute machines) and software components. These components will eventually need to be updated, such as updating them with a patch (a patch refers to software designed to fix problems with or update a computer program or its supporting data). When these components are updated, the components may be negatively affected in servicing the user's computing requirements. As a result, the components should be updated at times that are minimally intrusive to servicing the user's computing requirements. Currently, however, there is not a means for updating these components at the most optimal time, such as updating them when they are minimally being used thereby lessening the negative impact in servicing the user's computing requirements from the update.